#include<stdio.h>
#include<unistd.h>
#include<sys/wait.h>
#include<stdlib.h>
#define N 10



void child()
{
	int cnt = 3;
	while(cnt--)
	{
		printf("child pid = %d\n",getpid());
		sleep(1);
	}
}

int main()
{
	//创建多个子进程；
	for(int i = 0;i<10;i++)
	{
		pid_t id = fork();
		if(id == 0)
		{
			child();
			exit(i);
		}
		else
		{
			printf("parent pid = %d\n",getpid());
		}
	}
	sleep(10);
	for(int i = 0;i<10;i++)
	{
		int status = 0;
		pid_t ret = wait(&status);//随机等待其中一个进程；
		if(ret >0)
		{
			printf("等待成功: exitsignal:%d  exitcode:%d %d\n",0x7f&status,(status>>8)&0xff,ret);
		}
	}
	return 0;

}
